package com.sky.mapper;

import com.github.pagehelper.Page;
import com.sky.dto.EmployeePageQueryDTO;
import com.sky.entity.Employee;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

@Mapper
public interface EmployeeMapper {

        /**
         * 插入员工数据
         * @param employee
         */
        @Insert("insert into employee (name, username, password, phone, sex, id_number, create_time, update_time, create_user, update_user,status) " +
                "values " +
                "(#{name},#{username},#{password},#{phone},#{sex},#{idNumber},#{createTime},#{updateTime},#{createUser},#{updateUser},#{status})")
        void addEmp(Employee employee);

        /**
         * 编辑员工信息
         * @param employee
         */
        @Update("update employee set id_number=#{idNumber}, name=#{name}, phone=#{phone}, sex=#{sex}, username=#{username}, password=#{password} where id=#{id}")
        void updateEmp(Employee employee);

        /**
         * 启用、禁用员工账号
         * @param status
         * @param id
         */
        @Update("update employee set status=#{status} where id=#{id}")
        void updateStatus(Integer status, Integer id);


        /**
         * 根据id查询员工信息
         * @param id
         * @return
         */
        @Select("select * from employee where id=#{id}")
        Employee getEmpById(Integer id);

        /**
         * 根据用户名查询员工
         * @param username
         * @return
         */
        @Select("select * from employee where username = #{username}")
        Employee getByUsername(String username);


        /**
         * 分页查询
         * @param employeePageQueryDTO
         * @return
         */
        Page<Employee> pageEmp(EmployeePageQueryDTO employeePageQueryDTO);



}
